export interface FormItemRule {
    required?: boolean;
    message?: string;
    trigger?: 'blur' | 'change' | ['blur', 'change'];
    validator?: (rule: any, value: any, callback: (error?: Error) => void) => void;
}

export interface FormItemSelectItem {
    label: string;
    value: string | number;
}

export interface FormItemConfig {
    type: 'input' | 'password' | 'phone' | 'email' | 'code' | 'select';
    prop: string;
    label: string;
    rules?: FormItemRule[];
    placeholder: string;
    items?: FormItemSelectItem[];
    codeImage?: string;
}